# Alisa punishes (analysis/punishes.py; kept = done 3+ times, not cut short)
# kind needed_window punisher hits damage frames lead press reach open launches | moves id@frame(*=hit) | inputs held:frames | damage frames | notation
# uf+4,4 (block 15 / low_block 15): reach set by hand to -2000 (author, 2026-10-25; recorded -1303 / -1322) - keep when regenerating
char 19
block 10 1577 2 25 31 10 9 1443 10 0 | 1577@0* 1578@10* | 0:9,16384:4,0:4,16384:4,0:20 | 9,30 | 1, 1  # P2 x3
block 12 1590 2 31 32 10 5 1316 10 1 | 1590@0* 1591@12* | 0:5,32768:5,0:3,8192:5,0:24 | 11,31 | 2, 4  # P3 x3
block 14 1881 2 27 39 10 4 1308 10 1 | 1881@0* 1883@15* | 8:4,4104:5,8:3,0:2,32768:5,0:30 | 13,38 | f+3, 2  # P5 x2
block 15 1565 2 20 42 10 3 -2000 10 1 | 1565@0* 1564@18* | 9:3,8201:5,9:3,0:1,8192:5,0:35 | 14,41 | uf+4, 4  # P6 x3
low_block 11 1874 1 15 11 10 1 1514 10 0 | 1874@0* | 0:1,8192:13,0:4,8192:3 | 10 | 4  # P7 x3
low_block 13 1847 3 47 63 10 5 1457 10 1 | 1847@0* 1848@14* 1850@38* | 0:5,16384:5,0:3,32768:6,0:7,4096:5,0:42 | 12,37,62 | 1, 2, 3  # P8 x3
low_block 15 1565 2 20 42 10 9 -2000 10 1 | 1565@0* 1564@18* | 6:1,0:3,8:1,9:4,8201:4,9:4,8201:3,8200:1,8192:1,0:30 | 14,41 | uf+4, uf+4  # P1 x1
